<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">

<html><head><title>ACS_DXAudio - NewAC</title><link rel="stylesheet" type="text/css" href="../../styles/main.css"><script language=JavaScript src="../../javascript/main.js"></script><script language=JavaScript src="../../javascript/searchdata.js"></script></head><body class="ContentPage" onLoad="NDOnLoad()"><script language=JavaScript><!--
if (browserType) {document.write("<div class=" + browserType + ">");if (browserVer) {document.write("<div class=" + browserVer + ">"); }}// --></script>

<!--  Generated by Natural Docs, version 1.4 -->
<!--  http://www.naturaldocs.org  -->

<!-- saved from url=(0026)http://www.naturaldocs.org -->




<div id=Content><div class="CSection"><div class=CTopic id=MainTopic><h1 class=CTitle><a name="ACS_DXAudio"></a>ACS_DXAudio</h1><div class=CBody><p>Components which deal with audio hardware I/O using the DirectX API.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SMain"><td class=SEntry><a href="#ACS_DXAudio" >ACS_DXAudio</a></td><td class=SDescription>Components which deal with audio hardware I/O using the DirectX API.</td></tr><tr class="SClass"><td class=SEntry><a href="#TDXAudioOut" >TDXAudioOut</a></td><td class=SDescription>Performs audio playback using the DirectX API. </td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#TDXAudioOut.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent2 SMarked"><td class=SEntry><a href="#TDXAudioOut.Jump" id=link1 onMouseOver="ShowTip(event, 'tt1', 'link1')" onMouseOut="HideTip('tt1')">Jump</a></td><td class=SDescription>This method, being a wrapper around &lt;Seek&gt;, simpifies navigation in the input stream. </td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#TDXAudioOut.Properties" >Properties</a></td><td class=SDescription></td></tr><tr class="SProperty SIndent2 SMarked"><td class=SEntry><a href="#TDXAudioOut.DeviceCount" >DeviceCount</a></td><td class=SDescription>This read only property returns the number of logical output DirectSound devices.</td></tr><tr class="SProperty SIndent2"><td class=SEntry><a href="#TDXAudioOut.DeviceName" >DeviceName</a></td><td class=SDescription>This read only array property returns the name of the device specified by its number. </td></tr><tr class="SProperty SIndent2 SMarked"><td class=SEntry><a href="#TDXAudioOut.Underruns" >Underruns</a></td><td class=SDescription>This read only property returns the number of internal buffer underruns that have occurred during playback.</td></tr><tr class="SProperty SIndent2"><td class=SEntry><a href="#TDXAudioOut.Volume" >Volume</a></td><td class=SDescription>Use this property to set or get the volume of the sound being played. </td></tr><tr class="SProperty SIndent2 SMarked"><td class=SEntry><a href="#TDXAudioOut.DeviceNumber" >DeviceNumber</a></td><td class=SDescription>Use this property to select the playback device by number. </td></tr><tr class="SProperty SIndent2"><td class=SEntry><a href="#TDXAudioOut.Latency" >Latency</a></td><td class=SDescription>This property sets the audio latency (the delay between the moment the audio data is passed to the component and the moment it is played. </td></tr><tr class="SProperty SIndent2 SMarked"><td class=SEntry><a href="#TDXAudioOut.PrefetchData" >PrefetchData</a></td><td class=SDescription>This property tells the component whenever the audio data should be prefetched while playing. </td></tr><tr class="SProperty SIndent2"><td class=SEntry><a href="#TDXAudioOut.PollingInterval" >PollingInterval</a></td><td class=SDescription>This property sets the audio output device polling interval in milliseconds. </td></tr><tr class="SProperty SIndent2 SMarked"><td class=SEntry><a href="#TDXAudioOut.FramesInBuffer" >FramesInBuffer</a></td><td class=SDescription>Use this property to set the length of the internal playback buffer. </td></tr><tr class="SProperty SIndent2"><td class=SEntry><a href="#TDXAudioOut.OnUnderrun" >OnUnderrun</a></td><td class=SDescription>OnUnderrun event is raised when the component has run out of data. </td></tr><tr class="SClass"><td class=SEntry><a href="#TDXAudioIn" >TDXAudioIn</a></td><td class=SDescription>Performs audio recording from a sound card using the DirectX API. </td></tr><tr class="SGroup SIndent1"><td class=SEntry><a href="#TDXAudioIn.Properties" >Properties</a></td><td class=SDescription></td></tr><tr class="SProperty SIndent2 SMarked"><td class=SEntry><a href="#TDXAudioIn.DeviceCount" >DeviceCount</a></td><td class=SDescription>This read only property returns the number of logical DirectSound input devices.</td></tr><tr class="SProperty SIndent2"><td class=SEntry><a href="#TDXAudioIn.DeviceName[Number:Integer]" >DeviceName[Number : Integer]</a></td><td class=SDescription>This read only array property returns the name of the device specified by its number. </td></tr><tr class="SProperty SIndent2 SMarked"><td class=SEntry><a href="#TDXAudioIn.Overruns" >Overruns</a></td><td class=SDescription>This read only property returns the number of internal buffer overruns that have occurred during recording.</td></tr><tr class="SProperty SIndent2"><td class=SEntry><a href="#TDXAudioIn.Latency" >Latency</a></td><td class=SDescription>This property sets the audio latency (the delay between the moment the audio data comes into the system and the moment it exits the component. </td></tr><tr class="SProperty SIndent2 SMarked"><td class=SEntry><a href="#TDXAudioIn.SamplesToRead" >SamplesToRead</a></td><td class=SDescription>Use this property to set the number of samples (frames) the component should record. </td></tr><tr class="SProperty SIndent2"><td class=SEntry><a href="#TDXAudioIn.DeviceNumber" >DeviceNumber</a></td><td class=SDescription>Use this property to select the recording device by number. </td></tr><tr class="SProperty SIndent2 SMarked"><td class=SEntry><a href="#TDXAudioIn.InBitsPerSample" >InBitsPerSample</a></td><td class=SDescription>Use this property to set the number of bits per sample in the audio stream the component will provide. </td></tr><tr class="SProperty SIndent2"><td class=SEntry><a href="#TDXAudioIn.InChannels" >InChannels</a></td><td class=SDescription>Use this property to set the number of channels in the audio stream the component will provide. </td></tr><tr class="SProperty SIndent2 SMarked"><td class=SEntry><a href="#TDXAudioIn.InSampleRate" >InSampleRate</a></td><td class=SDescription>Use this property to set the sample rate of the audio stream the component will provide. </td></tr><tr class="SProperty SIndent2"><td class=SEntry><a href="#TDXAudioIn.RecTime" >RecTime</a></td><td class=SDescription>Use this property to set the recording duration (in seconds). </td></tr><tr class="SProperty SIndent2 SMarked"><td class=SEntry><a href="#TDXAudioIn.EchoRecording" >EchoRecording</a></td><td class=SDescription>When this property is set to True, the component plays back audio data what is being recorded. </td></tr><tr class="SProperty SIndent2"><td class=SEntry><a href="#TDXAudioIn.FramesInBuffer" >FramesInBuffer</a></td><td class=SDescription>Use this property to set the length of the internal recording buffer. </td></tr><tr class="SProperty SIndent2 SMarked"><td class=SEntry><a href="#TDXAudioIn.PollingInterval" >PollingInterval</a></td><td class=SDescription>This property sets the audio input device polling interval in milliseconds. </td></tr><tr class="SProperty SIndent2"><td class=SEntry><a href="#TDXAudioIn.OnOverrun" >OnOverrun</a></td><td class=SDescription>OnOverrun event is raised when this component provides data faster than the rest of audio-processing chain can consume. </td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>

<div class="CClass"><div class=CTopic><h2 class=CTitle><a name="TDXAudioOut"></a>TDXAudioOut</h2><div class=CBody><p>Performs audio playback using the DirectX API.&nbsp; Descends from <a href="ACS_Classes-pas.html#TAuOutput" class=LClass id=link3 onMouseOver="ShowTip(event, 'tt2', 'link3')" onMouseOut="HideTip('tt2')">TAuOutput</a>.&nbsp; TDXAudioOut component buffers its output in order to make it more smooth.&nbsp; This buffering introduces some delay at the beginning of the audio playback with TDXAudioOut.&nbsp; You can decrease the delay by decreasing the size of the TDXAudioOut buffer.&nbsp; The size of this buffer is set up by the DS_BUFFER_SIZE constant in the ACS_DxAudio.pas file.&nbsp; If you decrease the buffer size you may also want to decrease the DS_POLLING_INTERVAL value which determines how often the component requests data from its input.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SGroup"><td class=SEntry><a href="#TDXAudioOut.Functions" >Functions</a></td><td class=SDescription></td></tr><tr class="SFunction SIndent1 SMarked"><td class=SEntry><a href="#TDXAudioOut.Jump" id=link2 onMouseOver="ShowTip(event, 'tt1', 'link2')" onMouseOut="HideTip('tt1')">Jump</a></td><td class=SDescription>This method, being a wrapper around &lt;Seek&gt;, simpifies navigation in the input stream. </td></tr><tr class="SGroup"><td class=SEntry><a href="#TDXAudioOut.Properties" >Properties</a></td><td class=SDescription></td></tr><tr class="SProperty SIndent1 SMarked"><td class=SEntry><a href="#TDXAudioOut.DeviceCount" >DeviceCount</a></td><td class=SDescription>This read only property returns the number of logical output DirectSound devices.</td></tr><tr class="SProperty SIndent1"><td class=SEntry><a href="#TDXAudioOut.DeviceName" >DeviceName</a></td><td class=SDescription>This read only array property returns the name of the device specified by its number. </td></tr><tr class="SProperty SIndent1 SMarked"><td class=SEntry><a href="#TDXAudioOut.Underruns" >Underruns</a></td><td class=SDescription>This read only property returns the number of internal buffer underruns that have occurred during playback.</td></tr><tr class="SProperty SIndent1"><td class=SEntry><a href="#TDXAudioOut.Volume" >Volume</a></td><td class=SDescription>Use this property to set or get the volume of the sound being played. </td></tr><tr class="SProperty SIndent1 SMarked"><td class=SEntry><a href="#TDXAudioOut.DeviceNumber" >DeviceNumber</a></td><td class=SDescription>Use this property to select the playback device by number. </td></tr><tr class="SProperty SIndent1"><td class=SEntry><a href="#TDXAudioOut.Latency" >Latency</a></td><td class=SDescription>This property sets the audio latency (the delay between the moment the audio data is passed to the component and the moment it is played. </td></tr><tr class="SProperty SIndent1 SMarked"><td class=SEntry><a href="#TDXAudioOut.PrefetchData" >PrefetchData</a></td><td class=SDescription>This property tells the component whenever the audio data should be prefetched while playing. </td></tr><tr class="SProperty SIndent1"><td class=SEntry><a href="#TDXAudioOut.PollingInterval" >PollingInterval</a></td><td class=SDescription>This property sets the audio output device polling interval in milliseconds. </td></tr><tr class="SProperty SIndent1 SMarked"><td class=SEntry><a href="#TDXAudioOut.FramesInBuffer" >FramesInBuffer</a></td><td class=SDescription>Use this property to set the length of the internal playback buffer. </td></tr><tr class="SProperty SIndent1"><td class=SEntry><a href="#TDXAudioOut.OnUnderrun" >OnUnderrun</a></td><td class=SDescription>OnUnderrun event is raised when the component has run out of data. </td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>

<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="TDXAudioOut.Functions"></a>Functions</h3></div></div>

<div class="CFunction"><div class=CTopic><h3 class=CTitle><a name="TDXAudioOut.Jump"></a>Jump</h3><div class=CBody><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>procedure Jump(</td><td class=PParameter nowrap>Offs :</td><td class=PType nowrap>&nbsp;Integer</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote><p>This method, being a wrapper around &lt;Seek&gt;, simpifies navigation in the input stream.&nbsp; Calling Jump moves you backward or forward relative to the current position.&nbsp; Jump may be called either before starting playback (in this case the playback will be started from the position specified) or during the playback.</p><h4 class=CHeading>Parameters</h4><table border=0 cellspacing=0 cellpadding=0 class=CDescriptionList><tr><td class=CDLEntry>Offs</td><td class=CDLDescription>the amount of file contents, in in units of 1/1000 of the content length, that will be skipped.&nbsp; Positive value skips forward, negative value skips backward.&nbsp; For example calling Jump(-1000) always sets the playing position at the beginning of the file and Jump(100) will skip forward to 1/10 of the file.&nbsp; Note: Use &lt;Seek&gt; for more exact positioning.</td></tr></table></div></div></div>

<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="TDXAudioOut.Properties"></a>Properties</h3></div></div>

<div class="CProperty"><div class=CTopic><h3 class=CTitle><a name="TDXAudioOut.DeviceCount"></a>DeviceCount</h3><div class=CBody><p>This read only property returns the number of logical output DirectSound devices.</p></div></div></div>

<div class="CProperty"><div class=CTopic><h3 class=CTitle><a name="TDXAudioOut.DeviceName"></a>DeviceName</h3><div class=CBody><p>This read only array property returns the name of the device specified by its number.&nbsp; Valid numbers range from 0 to <a href="#TDXAudioOut.DeviceCount" class=LProperty id=link4 onMouseOver="ShowTip(event, 'tt3', 'link4')" onMouseOut="HideTip('tt3')">DeviceCount</a> - 1.</p></div></div></div>

<div class="CProperty"><div class=CTopic><h3 class=CTitle><a name="TDXAudioOut.Underruns"></a>Underruns</h3><div class=CBody><p>This read only property returns the number of internal buffer underruns that have occurred during playback.</p></div></div></div>

<div class="CProperty"><div class=CTopic><h3 class=CTitle><a name="TDXAudioOut.Volume"></a>Volume</h3><div class=CBody><p>Use this property to set or get the volume of the sound being played.&nbsp; The default value is 0 which corresponds to the original volume of the sound.&nbsp; Valid values range from -10000 (silence) to 0.&nbsp; The Volume property allows you to make the played sound softer than the original one, but not louder.</p></div></div></div>

<div class="CProperty"><div class=CTopic><h3 class=CTitle><a name="TDXAudioOut.DeviceNumber"></a>DeviceNumber</h3><div class=CBody><p>Use this property to select the playback device by number.&nbsp; The default value is 0 which corresponds to the default audio output device in your system.&nbsp; Valid numbers range from 0 to <a href="#TDXAudioOut.DeviceCount" class=LProperty id=link5 onMouseOver="ShowTip(event, 'tt3', 'link5')" onMouseOut="HideTip('tt3')">DeviceCount</a> - 1.</p></div></div></div>

<div class="CProperty"><div class=CTopic><h3 class=CTitle><a name="TDXAudioOut.Latency"></a>Latency</h3><div class=CBody><p>This property sets the audio latency (the delay between the moment the audio data is passed to the component and the moment it is played.&nbsp; The latency is set in milliseconds.&nbsp; This is a convenience property that overrides the <a href="#TDXAudioOut.FramesInBuffer" class=LProperty id=link6 onMouseOver="ShowTip(event, 'tt4', 'link6')" onMouseOut="HideTip('tt4')">FramesInBuffer</a> and the <a href="#TDXAudioOut.PollingInterval" class=LProperty id=link7 onMouseOver="ShowTip(event, 'tt5', 'link7')" onMouseOut="HideTip('tt5')">PollingInterval</a>.&nbsp; If the Latency is greater than zero these properties are ignored.&nbsp; The reasonable values for this property lie in the range between 50 (0.05 second) and 250 (0.25 second).</p></div></div></div>

<div class="CProperty"><div class=CTopic><h3 class=CTitle><a name="TDXAudioOut.PrefetchData"></a>PrefetchData</h3><div class=CBody><p>This property tells the component whenever the audio data should be prefetched while playing.&nbsp; Prefetching data makes it run more smoothly and allows lower buffre sizes (see &lt;FramesInBuffer&gt;).</p></div></div></div>

<div class="CProperty"><div class=CTopic><h3 class=CTitle><a name="TDXAudioOut.PollingInterval"></a>PollingInterval</h3><div class=CBody><p>This property sets the audio output device polling interval in milliseconds.&nbsp; The smaller <a href="#TDXAudioOut.FramesInBuffer" class=LProperty id=link8 onMouseOver="ShowTip(event, 'tt4', 'link8')" onMouseOut="HideTip('tt4')">FramesInBuffer</a> value is the smaller this polling interval should be.&nbsp; The condition for appropriate values for the polling interval is: PollingInterval &lt; (FramesInBuffer/SampleRate)*1000 Otherwise many underruns will occur.</p></div></div></div>

<div class="CProperty"><div class=CTopic><h3 class=CTitle><a name="TDXAudioOut.FramesInBuffer"></a>FramesInBuffer</h3><div class=CBody><p>Use this property to set the length of the internal playback buffer.&nbsp; The duration of the buffer depends on this value and the sample rate.&nbsp; For example if FramesInBuffer&rsquo;s value is 12000 and the sample rate is 44100, the buffer duration is 12000/44100=0.272 sec.&nbsp; Smaller values result in lower latency and (possibly) more underruns.&nbsp; See also <a href="#TDXAudioOut.PollingInterval" class=LProperty id=link9 onMouseOver="ShowTip(event, 'tt5', 'link9')" onMouseOut="HideTip('tt5')">PollingInterval</a>.</p></div></div></div>

<div class="CProperty"><div class=CTopic><h3 class=CTitle><a name="TDXAudioOut.OnUnderrun"></a>OnUnderrun</h3><div class=CBody><p>OnUnderrun event is raised when the component has run out of data.&nbsp; This can happen if the component receives data at slow rate from a slow CD-ROM unit or a network link.&nbsp; You will also get OnUnderrun event when unpausing paused playback (this is a normal situation).&nbsp; Usually TDXAudioOut successfully recovers from underruns by itself, but this causes pauses in playback so if you start to receive OnUnderrun events, you may try to increase the speed rate of data passing to the component, if you can.&nbsp; Yo can check the <a href="#TDXAudioOut.Underruns" class=LProperty id=link10 onMouseOver="ShowTip(event, 'tt6', 'link10')" onMouseOut="HideTip('tt6')">Underruns</a> property for the total number of underruns.</p></div></div></div>

<div class="CClass"><div class=CTopic><h2 class=CTitle><a name="TDXAudioIn"></a>TDXAudioIn</h2><div class=CBody><p>Performs audio recording from a sound card using the DirectX API.&nbsp; Descends from <a href="ACS_Classes-pas.html#TAuInput" class=LClass id=link11 onMouseOver="ShowTip(event, 'tt7', 'link11')" onMouseOut="HideTip('tt7')">TAuInput</a>.</p><!--START_ND_SUMMARY--><div class=Summary><div class=STitle>Summary</div><div class=SBorder><table border=0 cellspacing=0 cellpadding=0 class=STable><tr class="SGroup"><td class=SEntry><a href="#TDXAudioIn.Properties" >Properties</a></td><td class=SDescription></td></tr><tr class="SProperty SIndent1 SMarked"><td class=SEntry><a href="#TDXAudioIn.DeviceCount" >DeviceCount</a></td><td class=SDescription>This read only property returns the number of logical DirectSound input devices.</td></tr><tr class="SProperty SIndent1"><td class=SEntry><a href="#TDXAudioIn.DeviceName[Number:Integer]" >DeviceName[Number : Integer]</a></td><td class=SDescription>This read only array property returns the name of the device specified by its number. </td></tr><tr class="SProperty SIndent1 SMarked"><td class=SEntry><a href="#TDXAudioIn.Overruns" >Overruns</a></td><td class=SDescription>This read only property returns the number of internal buffer overruns that have occurred during recording.</td></tr><tr class="SProperty SIndent1"><td class=SEntry><a href="#TDXAudioIn.Latency" >Latency</a></td><td class=SDescription>This property sets the audio latency (the delay between the moment the audio data comes into the system and the moment it exits the component. </td></tr><tr class="SProperty SIndent1 SMarked"><td class=SEntry><a href="#TDXAudioIn.SamplesToRead" >SamplesToRead</a></td><td class=SDescription>Use this property to set the number of samples (frames) the component should record. </td></tr><tr class="SProperty SIndent1"><td class=SEntry><a href="#TDXAudioIn.DeviceNumber" >DeviceNumber</a></td><td class=SDescription>Use this property to select the recording device by number. </td></tr><tr class="SProperty SIndent1 SMarked"><td class=SEntry><a href="#TDXAudioIn.InBitsPerSample" >InBitsPerSample</a></td><td class=SDescription>Use this property to set the number of bits per sample in the audio stream the component will provide. </td></tr><tr class="SProperty SIndent1"><td class=SEntry><a href="#TDXAudioIn.InChannels" >InChannels</a></td><td class=SDescription>Use this property to set the number of channels in the audio stream the component will provide. </td></tr><tr class="SProperty SIndent1 SMarked"><td class=SEntry><a href="#TDXAudioIn.InSampleRate" >InSampleRate</a></td><td class=SDescription>Use this property to set the sample rate of the audio stream the component will provide. </td></tr><tr class="SProperty SIndent1"><td class=SEntry><a href="#TDXAudioIn.RecTime" >RecTime</a></td><td class=SDescription>Use this property to set the recording duration (in seconds). </td></tr><tr class="SProperty SIndent1 SMarked"><td class=SEntry><a href="#TDXAudioIn.EchoRecording" >EchoRecording</a></td><td class=SDescription>When this property is set to True, the component plays back audio data what is being recorded. </td></tr><tr class="SProperty SIndent1"><td class=SEntry><a href="#TDXAudioIn.FramesInBuffer" >FramesInBuffer</a></td><td class=SDescription>Use this property to set the length of the internal recording buffer. </td></tr><tr class="SProperty SIndent1 SMarked"><td class=SEntry><a href="#TDXAudioIn.PollingInterval" >PollingInterval</a></td><td class=SDescription>This property sets the audio input device polling interval in milliseconds. </td></tr><tr class="SProperty SIndent1"><td class=SEntry><a href="#TDXAudioIn.OnOverrun" >OnOverrun</a></td><td class=SDescription>OnOverrun event is raised when this component provides data faster than the rest of audio-processing chain can consume. </td></tr></table></div></div><!--END_ND_SUMMARY--></div></div></div>

<div class="CGroup"><div class=CTopic><h3 class=CTitle><a name="TDXAudioIn.Properties"></a>Properties</h3></div></div>

<div class="CProperty"><div class=CTopic><h3 class=CTitle><a name="TDXAudioIn.DeviceCount"></a>DeviceCount</h3><div class=CBody><p>This read only property returns the number of logical DirectSound input devices.</p></div></div></div>

<div class="CProperty"><div class=CTopic><h3 class=CTitle><a name="TDXAudioIn.DeviceName[Number:Integer]"></a>DeviceName[Number : Integer]</h3><div class=CBody><p>This read only array property returns the name of the device specified by its number.&nbsp; Valid numbers range from 0 to <a href="#TDXAudioIn.DeviceCount" class=LProperty id=link12 onMouseOver="ShowTip(event, 'tt8', 'link12')" onMouseOut="HideTip('tt8')">DeviceCount</a> - 1.</p></div></div></div>

<div class="CProperty"><div class=CTopic><h3 class=CTitle><a name="TDXAudioIn.Overruns"></a>Overruns</h3><div class=CBody><p>This read only property returns the number of internal buffer overruns that have occurred during recording.</p></div></div></div>

<div class="CProperty"><div class=CTopic><h3 class=CTitle><a name="TDXAudioIn.Latency"></a>Latency</h3><div class=CBody><p>This property sets the audio latency (the delay between the moment the audio data comes into the system and the moment it exits the component.&nbsp; The latency is set in milliseconds.&nbsp; This is a convenience property that overrides the <a href="#TDXAudioIn.FramesInBuffer" class=LProperty id=link13 onMouseOver="ShowTip(event, 'tt9', 'link13')" onMouseOut="HideTip('tt9')">FramesInBuffer</a> and the <a href="#TDXAudioIn.PollingInterval" class=LProperty id=link14 onMouseOver="ShowTip(event, 'tt10', 'link14')" onMouseOut="HideTip('tt10')">PollingInterval</a>.&nbsp; If the Latency is greater than zero these properties are ignored.&nbsp; The reasonable values for this property lie in the range between 50 (0.05 second) and 250 (0.25 second).</p></div></div></div>

<div class="CProperty"><div class=CTopic><h3 class=CTitle><a name="TDXAudioIn.SamplesToRead"></a>SamplesToRead</h3><div class=CBody><p>Use this property to set the number of samples (frames) the component should record.&nbsp; If you set this property value to -1 the component will be endlessly recording until you stop it.</p></div></div></div>

<div class="CProperty"><div class=CTopic><h3 class=CTitle><a name="TDXAudioIn.DeviceNumber"></a>DeviceNumber</h3><div class=CBody><p>Use this property to select the recording device by number.&nbsp; The property default value is 0 which corresponds to the default audio input device in your system.&nbsp; Valid numbers range from 0 to <a href="#TDXAudioIn.DeviceCount" class=LProperty id=link15 onMouseOver="ShowTip(event, 'tt8', 'link15')" onMouseOut="HideTip('tt8')">DeviceCount</a> - 1.</p></div></div></div>

<div class="CProperty"><div class=CTopic><h3 class=CTitle><a name="TDXAudioIn.InBitsPerSample"></a>InBitsPerSample</h3><div class=CBody><p>Use this property to set the number of bits per sample in the audio stream the component will provide.&nbsp; Possible values are 8, 16, and 24 (the last one depends on the capabilities of your hardware).</p></div></div></div>

<div class="CProperty"><div class=CTopic><h3 class=CTitle><a name="TDXAudioIn.InChannels"></a>InChannels</h3><div class=CBody><p>Use this property to set the number of channels in the audio stream the component will provide.&nbsp; Possible values are 1 (mono), and 2 (stereo).</p></div></div></div>

<div class="CProperty"><div class=CTopic><h3 class=CTitle><a name="TDXAudioIn.InSampleRate"></a>InSampleRate</h3><div class=CBody><p>Use this property to set the sample rate of the audio stream the component will provide.&nbsp; Possible values range from 4000 to 128000 (depends on the capabilities of your hardware).</p></div></div></div>

<div class="CProperty"><div class=CTopic><h3 class=CTitle><a name="TDXAudioIn.RecTime"></a>RecTime</h3><div class=CBody><p>Use this property to set the recording duration (in seconds).&nbsp; If set, this property overrides the value of &lt;BytesToRead&gt;.&nbsp; If you set this property value to -1 (the default) the component will be endlessly recording until you stop it.</p></div></div></div>

<div class="CProperty"><div class=CTopic><h3 class=CTitle><a name="TDXAudioIn.EchoRecording"></a>EchoRecording</h3><div class=CBody><p>When this property is set to True, the component plays back audio data what is being recorded.&nbsp; Currently this option works only if you choose the primary recording driver as the input device.&nbsp; If you want to echo recording you should set this property to True before you start recording.&nbsp; Later you can set it to False to turn echoing off and then back to True to turn it on.</p></div></div></div>

<div class="CProperty"><div class=CTopic><h3 class=CTitle><a name="TDXAudioIn.FramesInBuffer"></a>FramesInBuffer</h3><div class=CBody><p>Use this property to set the length of the internal recording buffer.&nbsp; The duration of the buffer depends on this value and the sample rate.&nbsp; For example if FramesInBuffer&rsquo;s value is 12000 and the sample rate is 44100, the buffer duration is 12000/44100=0.272 sec.&nbsp; Smaller values result in lower latency and (possibly) more overruns.&nbsp; See also <a href="#TDXAudioIn.PollingInterval" class=LProperty id=link16 onMouseOver="ShowTip(event, 'tt10', 'link16')" onMouseOut="HideTip('tt10')">PollingInterval</a>.</p></div></div></div>

<div class="CProperty"><div class=CTopic><h3 class=CTitle><a name="TDXAudioIn.PollingInterval"></a>PollingInterval</h3><div class=CBody><p>This property sets the audio input device polling interval in milliseconds.&nbsp; The less <a href="#TDXAudioIn.FramesInBuffer" class=LProperty id=link17 onMouseOver="ShowTip(event, 'tt9', 'link17')" onMouseOut="HideTip('tt9')">FramesInBuffer</a> value is the less this polling interval should be.&nbsp; Otherwise many overruns will occur.</p></div></div></div>

<div class="CProperty"><div class=CTopic><h3 class=CTitle><a name="TDXAudioIn.OnOverrun"></a>OnOverrun</h3><div class=CBody><p>OnOverrun event is raised when this component provides data faster than the rest of audio-processing chain can consume.&nbsp; It indicates that some data is lost.&nbsp; You may also get OnOverrun event when unpausing paused recording (this is a normal situation).&nbsp; To get the total number of overruns read the <a href="#TDXAudioIn.Overruns" class=LProperty id=link18 onMouseOver="ShowTip(event, 'tt11', 'link18')" onMouseOut="HideTip('tt11')">Overruns</a> property.</p></div></div></div>

</div><!--Content-->


<div id=Footer>Content &copy; 2008-2010 Andrei Borovsky. Design &copy; 2008 Wayne Thursby. <b><u><a href="http://symmetrica.net/newac">Go to the project's main page</a></u></b>&nbsp; &middot;&nbsp; <a href="http://www.naturaldocs.org">Generated by Natural Docs</a></div><!--Footer-->


<div id=Menu><div class=MTitle>NewAC<div class=MSubTitle>v2.5</div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent1')">Documentation</a><div class=MGroupContent id=MGroupContent1><div class=MEntry><div class=MFile><a href="../doc/txt/introduction-txt.html">Quick Introduction to NewAC</a></div></div><div class=MEntry><div class=MFile><a href="../doc/txt/about_documentation-txt.html">About the Documentation</a></div></div><div class=MEntry><div class=MFile><a href="../doc/txt/cwguide-txt.html">Component Writer&rsquo;s Guide</a></div></div><div class=MEntry><div class=MFile><a href="../doc/txt/license-txt.html">License</a></div></div><div class=MEntry><div class=MFile><a href="../doc/txt/tips_and_tricks-txt.html">Tips &amp; Tricks</a></div></div><div class=MEntry><div class=MFile><a href="../doc/txt/newac-txt.html">About New Audio Components</a></div></div><div class=MEntry><div class=MFile><a href="../doc/txt/features-txt.html">NewAC Main Features List</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent2')">Main Units</a><div class=MGroupContent id=MGroupContent2><div class=MEntry><div class=MFile><a href="ACS_AudioMix-pas.html">ACS_AudioMix</a></div></div><div class=MEntry><div class=MFile><a href="ACS_CDROM-pas.html">ACS_CDROM</a></div></div><div class=MEntry><div class=MFile><a href="ACS_Classes-pas.html">ACS_Classes</a></div></div><div class=MEntry><div class=MFile><a href="ACS_Converters-pas.html">ACS_Converters</a></div></div><div class=MEntry><div class=MFile id=MSelected>ACS_DXAudio</div></div><div class=MEntry><div class=MFile><a href="ACS_FLAC-pas.html">ACS_FLAC</a></div></div><div class=MEntry><div class=MFile><a href="ACS_Filters-pas.html">ACS_Filters</a></div></div><div class=MEntry><div class=MFile><a href="ACS_LAME-pas.html">ACS_LAME</a></div></div><div class=MEntry><div class=MFile><a href="ACS_MAC-pas.html">ACS_MAC</a></div></div><div class=MEntry><div class=MFile><a href="ACS_Misc-pas.html">ACS_Misc</a></div></div><div class=MEntry><div class=MFile><a href="ACS_MPC-pas.html">ACS_MPC</a></div></div><div class=MEntry><div class=MFile><a href="ACS_OptimFROG-pas.html">ACS_OptimFROG</a></div></div><div class=MEntry><div class=MFile><a href="ACS_smpeg-pas.html">ACS_SMPEG</a></div></div><div class=MEntry><div class=MFile><a href="ACS_Streams-pas.html">ACS_Streams</a></div></div><div class=MEntry><div class=MFile><a href="ACS_TTA-pas.html">ACS_TTA</a></div></div><div class=MEntry><div class=MFile><a href="ACS_Tags-pas.html">ACS_Tags</a></div></div><div class=MEntry><div class=MFile><a href="ACS_Vorbis-pas.html">ACS_Vorbis</a></div></div><div class=MEntry><div class=MFile><a href="ACS_WavPack-pas.html">ACS_WavPack</a></div></div><div class=MEntry><div class=MFile><a href="ACS_Wave-pas.html">ACS_Wave</a></div></div><div class=MEntry><div class=MFile><a href="ACS_WinMedia-pas.html">ACS_WinMedia</a></div></div><div class=MEntry><div class=MFile><a href="AudioDMO-pas.html">AudioDMO</a></div></div><div class=MEntry><div class=MFile><a href="AudioPass-pas.html">AudioPass</a></div></div><div class=MEntry><div class=MFile><a href="AuSampleRate-pas.html">AuSampleRate</a></div></div><div class=MEntry><div class=MFile><a href="AuASIO-pas.html">AuASIO</a></div></div><div class=MEntry><div class=MFile><a href="AuSynch-pas.html">AuSynch</a></div></div><div class=MEntry><div class=MFile><a href="NewACDTS-pas.html">NewACDTS</a></div></div><div class=MEntry><div class=MFile><a href="NewAC_AVI-pas.html">NewAC_AVI</a></div></div><div class=MEntry><div class=MFile><a href="NewAC_DSP-pas.html">NewAC_DSP</a></div></div><div class=MEntry><div class=MFile><a href="NewACAC3-pas.html">NewACAC3</a></div></div><div class=MEntry><div class=MFile><a href="NewACIndicators-pas.html">NewACIndicators</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent3')">Utility Units</a><div class=MGroupContent id=MGroupContent3><div class=MEntry><div class=MFile><a href="ACS_Misc-pas.html">ACS_Misc</a></div></div><div class=MEntry><div class=MFile><a href="ACS_Procs-pas.html">ACS_Procs</a></div></div><div class=MEntry><div class=MFile><a href="acs_reg-pas.html">ACS_Reg</a></div></div><div class=MEntry><div class=MFile><a href="ACS_Types-pas.html">ACS_Types</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent4')">Tutorials</a><div class=MGroupContent id=MGroupContent4><div class=MEntry><div class=MFile><a href="../demos/Tutorial/AudioProcessor/Main-pas.html">Audio Processor</a></div></div><div class=MEntry><div class=MFile><a href="../demos/Tutorial/ComponentsDemo/ComponentsDemo-pas.html">Components Demo</a></div></div><div class=MEntry><div class=MFile><a href="../demos/Recorders-rippers/Rip'n'listen/Main-pas.html">Rip&rsquo;n&rsquo;Listen Demo</a></div></div></div></div></div><div class=MEntry><div class=MGroup><a href="javascript:ToggleMenu('MGroupContent5')">Index</a><div class=MGroupContent id=MGroupContent5><div class=MEntry><div class=MIndex><a href="../../index/General.html">Everything</a></div></div><div class=MEntry><div class=MIndex><a href="../../index/Classes.html">Classes</a></div></div><div class=MEntry><div class=MIndex><a href="../../index/Constants.html">Constants</a></div></div><div class=MEntry><div class=MIndex><a href="../../index/Functions.html">Functions</a></div></div><div class=MEntry><div class=MIndex><a href="../../index/Properties.html">Properties</a></div></div><div class=MEntry><div class=MIndex><a href="../../index/Types.html">Types</a></div></div><div class=MEntry><div class=MIndex><a href="../../index/Variables.html">Variables</a></div></div></div></div></div><script type="text/javascript"><!--
var searchPanel = new SearchPanel("searchPanel", "HTML", "../../search");
--></script><div id=MSearchPanel class=MSearchPanelInactive><input type=text id=MSearchField value=Search onFocus="searchPanel.OnSearchFieldFocus(true)" onBlur="searchPanel.OnSearchFieldFocus(false)" onKeyUp="searchPanel.OnSearchFieldChange()"><select id=MSearchType onFocus="searchPanel.OnSearchTypeFocus(true)" onBlur="searchPanel.OnSearchTypeFocus(false)" onChange="searchPanel.OnSearchTypeChange()"><option  id=MSearchEverything selected value="General">Everything</option><option value="Classes">Classes</option><option value="Constants">Constants</option><option value="Functions">Functions</option><option value="Properties">Properties</option><option value="Types">Types</option><option value="Variables">Variables</option></select></div><script language=JavaScript><!--
HideAllBut([2], 6);// --></script></div><!--Menu-->



<!--START_ND_TOOLTIPS-->
<div class=CToolTip id="tt1"><div class=CFunction><blockquote><table border=0 cellspacing=0 cellpadding=0 class=Prototype><tr><td><table border=0 cellspacing=0 cellpadding=0><tr><td class=PBeforeParameters nowrap>procedure Jump(</td><td class=PParameter nowrap>Offs :</td><td class=PType nowrap>&nbsp;Integer</td><td class=PAfterParameters nowrap>)</td></tr></table></td></tr></table></blockquote>This method, being a wrapper around Seek, simpifies navigation in the input stream. </div></div><div class=CToolTip id="tt2"><div class=CClass>The ancestor class for all output components.</div></div><div class=CToolTip id="tt3"><div class=CProperty>This read only property returns the number of logical output DirectSound devices.</div></div><div class=CToolTip id="tt4"><div class=CProperty>Use this property to set the length of the internal playback buffer. </div></div><div class=CToolTip id="tt5"><div class=CProperty>This property sets the audio output device polling interval in milliseconds. </div></div><div class=CToolTip id="tt6"><div class=CProperty>This read only property returns the number of internal buffer underruns that have occurred during playback.</div></div><div class=CToolTip id="tt7"><div class=CClass>The ancestor class for all input components.</div></div><div class=CToolTip id="tt8"><div class=CProperty>This read only property returns the number of logical DirectSound input devices.</div></div><div class=CToolTip id="tt9"><div class=CProperty>Use this property to set the length of the internal recording buffer. </div></div><div class=CToolTip id="tt10"><div class=CProperty>This property sets the audio input device polling interval in milliseconds. </div></div><div class=CToolTip id="tt11"><div class=CProperty>This read only property returns the number of internal buffer overruns that have occurred during recording.</div></div><!--END_ND_TOOLTIPS-->




<div id=MSearchResultsWindow><iframe src="" frameborder=0 name=MSearchResults id=MSearchResults></iframe><a href="javascript:searchPanel.CloseResultsWindow()" id=MSearchResultsWindowClose>Close</a></div>


<script language=JavaScript><!--
if (browserType) {if (browserVer) {document.write("</div>"); }document.write("</div>");}// --></script></body></html>